perm filename ARMDRV.FAI[LOU,BGB] blob
sn#117404 filedate 1974-12-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE ARMDRV
C00007 ENDMK
C⊗;
TITLE ARMDRV
INTERNAL DRIVE
I←←3
MQ←←1
P←←17
ARM←←450
DRIVE: SETZM DTST
MOVE 1,-1(17)
MOVEM 1,TIME
SETOM FIRST
SKIPE -4(17)
JRST BLUE
MOVM 1,-2(17)
FDVR 1,[30.0]
FIX 1,211000
CAILE 1,776000
MOVEI 1,776000
TRC 1,400000
MOVE 3,-3(17)
HRLI 1,(3)
MOVEM 1,DAC1
MOVM 1,-5(17) ;D2
FDVR 1,[30.0]
FIX 1,211000
CAILE 1,776000
MOVEI 1,776000
TRC 1,400000
MOVE 3,-3(17)
HRLI 1,(3)
MOVEM 1,DAC2
MOVE 4,MMASK(3)
SKIPGE -2(17)
TDC 4,DMASK(3)
MOVEM 4,MOT1
MOVE 4,MMASK(3)
SKIPGE -5(17)
TDC 4,DMASK(3)
MOVEM 4,MOT2
; LOCK 1,
SPCWAR 1,PO
SWM: SKIPN DTST
JRST .-1
; UNLOCK 1,
SPCWAR 636367
SUB 17,[XWD 6,6]
JRST @6(17)
PO: SKIPE FIRST
JRST[ DATAO 420,[3]
SETZM FIRST
CALLI 400024]
SOSGE 1,TIME
JRST[ DATAO 420,[2]
SETOM DTST
CALLI 400024]
IDIVI 1,=20
TRNE 1,1
JRST[ DATAO 600,DAC2
DATAO 420,MOT2
CALLI 400024]
DATAO 600,DAC1
DATAO 420,MOT1
CALLI 400024
BLUE: MOVE 3,-3(17)
MOVEM 3,JOINT
MOVE 2,-2(17)
FIX 2,233000
MOVEM 2,DAC1
MOVE 2,-5(17)
FIX 2,233000
MOVEM 2,DAC2
; LOCK 1,
SPCWAR 1,BPO
JRST SWM
MOTDRV: MOVE MQ,-1(P) ;≤-100 DRIVE IN AC ≤77, JOINT IN I
CAIL MQ,77
JRST[ MOVEI MQ,77
JRST DPIT]
MOVN MQ,MQ
CAILE MQ,100
JRST[ MOVEI MQ,100
JRST DPNIT]
DPNIT: MOVN MQ,MQ
DPIT: DPB MQ,MOTPTR(I)
DATAO ARM,@MOTPTR(I)
SUB P,[XWD 2,2]
JRST @2(P)
MOTPTR: POINT 7,MOTDAT,6
POINT 7,MOTDAT,13
POINT 7,MOTDAT,20
POINT 7,MOTDAT,27
POINT 7,MOTDAT,34
POINT 7,MOTDAT+1,6
POINT 7,MOTDAT+1,13
POINT 7,MOTDAT+1,20
POINT 7,MOTDAT+1,27
POINT 7,MOTDAT+1,34
MOTDAT: 0
1
MOTBRK: 0
MOTSTP: MOVE MQ,MOTBRK
TDZ MQ,BBIT(I)
CONO ARM,(MQ)
MOVEM MQ,MOTBRK
MOVEI MQ,0
DPB MQ,MOTPTR(I)
DATAO ARM,@MOTPTR(I)
POPJ P,
MOTSTA: MOVE MQ,MOTBRK
TDO MQ,BBIT(I)
CONO ARM,1(MQ)
MOVEM MQ,MOTBRK
POPJ P,
BBIT: 400000
200000
100000
40000
20000
10000
4000
2000
1000
400
BPO:
MOVE P,[IOWD 10,PDL]
MOVE I,JOINT
SKIPE FIRST
JRST[ PUSHJ P,MOTSTA
SETZM FIRST
CALLI 400024]
SOSL 1,TIME
JRST[ IDIVI 1,=20
TRNE 1,1
JRST[ PUSH P,DAC2
JRST DMB]
PUSH P,DAC1
DMB: PUSHJ P,MOTDRV
CALLI 400024]
PUSHJ P,MOTSTP
SETOM DTST
CALLI 400024
MOT1: 0
MOT2: 0
DAC1: 0
DAC2: 0
FIRST: 0
TIME: 0
JOINT: 0
DTST: 0
PDL: BLOCK 10
MMASK: XWD 400000,200002
XWD 200000, 40002
XWD 100000, 30002
XWD 40000, 2002
XWD 20000, 1402
XWD 10000, 302
XWD 4000, 22
DMASK: 400000
100000
20000
4000
1000
200
40
END